import axios from 'axios'
// import { Toast } from 'vant'
import config from './config'
//创建一个实例
let instance =  axios.create({
    timeout:5000,
    baseURL:config.SERVER_BASEPATH,
    // header:token,
    // params:{
    //     key:'hejveh',
    //     //如果header中没有token，就去params中找
    // }       
})

// 拦截器
//请求拦截
instance.interceptors.request.use(config=>{
    // Toast.allowMultiple();
    // Toast.loading({
    //     message:'加载中...',
    //     forbidClick:true,
    // })
    return config
},err=>{
    // Toast.clear()
    return Promise.reject(err);
})

//响应拦截
instance.interceptors.response.use(res=>{
    // Toast.clear()
    return res
},err=>{
    // Toast.clear;
    return Promise.reject(err);
})

/**
 * 请求的方法
 * @param {*} param0 config 请求的配置信息，method请求方法，param请求参数,url请求路由地址
 * @returns 
 */
//封装http方法
//默认值  解构赋值  {} 结构解析
async function http({method='get',url,params}){
    let result;
    if(method === 'get' || method === 'delete'){
       await instance[method](url,{
            params:params
        }).then(res=>{
            result = res.data
        }).catch(err=>{
            result = err
        })
    }else if(method === 'post' || method === 'put' || method === 'patch'){
        await instance[method](url,params).then(res=>{
            result = res.data
        }).catch(err=>{
            result = err
        })
    }
    return result
}


export default http;